/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model;
import java.util.List;
/**
 *
 * @author juli
 */
public interface MeetingDataLayer {
    
    /*Solo pueden borrar Manager los Manager*/
    Manager createManager();
    Manager deleteManager(Manager m);
    /*Solo pueden borrar Organizer los Manager*/
    Organizer createOrganizer();
    Organizer deleteOrganizer(Organizer o);
    /*Hay que comprobar que quien borre invitados sea Manager
     * o Organizer
     */
    Guest createGuest();
    Guest deleteGuest(Guest g);
    Room createMeetingRoom();
    Room deleteMeetingRoom(Room m);    
    Invitation createInvitation();
    Invitation deteleInvitation(Invitation i);
    Invitation modDateInvitation(Integer key, String date);
    /*Consultar, añadir y borrar propiedades adicionales
     * de una sala de reuniones */
    List<String> getPropertiesMeetingRoom(Room m);
    List<String> addProperty(Room m, String properties);
    List<String> deleteProperty(Room m, String properties);
    List<Guest> getGuestByInvitations(Organizer o, Room m, String date);
    Room getMeetingRoom(int key_mr);
    Organizer getOrganizer(int key_org);
    Guest getGuestByInvitation(Invitation i);
    Invitation getInvitationByResponse(Response r);
    Guest getGuestByResponse(Response r);
}
